Thursday, March 16, 2023

Unit-II Components of Client/Server application

 Class: MSc(SE)SY Unit II Sub: Client Server Technology 

Unit-II 

Components of Client/Server application 

The client: services, request for services, RPC, windows services, fax, print services, remote boot services, other remote services, Utility Services & Other Services, Dynamic Data Exchange (DDE), Object Linking and Embedding (OLE), Common Object Request Broker Architecture (CORBA). The server: Detailed server functionality, the network operating system, available platforms, the network operating system, available platform, the server  operating system.



Client Services  

The ideal client/server platform operates in an open systems environment using a requester server discipline that is based on well-defined standards. This enables multiple hardware and  software platforms to interact. When the standard requester-server discipline is adhered to,  servers may grow and change their operating system and hardware platforms without  changing the client applications. Clients can be entry-level Intel 386SX machines or very  powerful RISC-based workstations, and run the same application issuing the same requests  for service as long as the standard requester-server discipline is adhered to. Traditional host  applications that use the client for presentation services operate only by sending and  receiving a character data stream to and from a server. All application logic resides on the  server. This is the manner in which many organizations use workstation technology today.  The expensive mainframe CPU is being used to handle functions that are much more  economically provided by the workstation.  

First-generation client/server applications using software such as Easel enable the input and  output data streams to be reformatted at the client without changes to the host applications.  They use an API that defines the data stream format. Easel uses the IBM-defined Extended  High Level Language Application Program Interface (EHLLAPI). GUI front ends may add  

additional functionality, such as the capability to select items for input from a list, selectively  use color, or merge other data into the presentation without changing the host application.  

An example of this form of client is an application developed for the emergency command  and control services required by E911 dispatch applications. This computer application  supports calls to the 911 emergency telephone number and dispatches fire, police, ambulance,  or emergency vehicles to an incident. This application traditionally has been implemented on  a fault-tolerant minicomputer with access provided from a character mode dumb terminal.  The information is displayed in list form, and the operator can move the cursor to an item on  the list for selection or rekey the data for input. Prior implementations of this application  handled the address of the caller by displaying it on the screen as a text field.  

In the client/server implementation of this system, the workstation user deals only with a  GUI. The workstation plots this address onto a map that in turn displays the location of the  fire. In addition, the locations of all fire stations and vehicles are plotted on the map. The  dispatch operator can see at a glance the entire status of fire support close to the fire. Previous  implementations of this application displayed lists of optional fire vehicles. From this list, the  operator keyed in a selected vehicle. The GUI front end, however, enables the vehicles to be  shown in a window and selected by using a mouse pointer. This not only reduces the cost of 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

execution but can significantly reduce errors, increase productivity, and reduce stress  experienced by the dispatch operator.  

GUIs enable users to be more productive with less training, because the interface is more  intuitive. Several studies comparing the productivity and learning curve for users of GUI  applications versus traditional character mode applications have demonstrated improvements  of greater than 200 percent.  

The functionality of the client process can be further extended at the client by adding logic  that is not implemented in the host server application. Local editing, automatic data entry,  help capabilities, and other logic processes can be added in front of the existing host server  

application. If many errors are detected at the client, or functions such as online help are  completely off loaded, the workload of the host server decreases. There is an opportunity to  provide extensive interactive help and training integrated into a client/server application  using only the services of the client workstation and NOS.  

One example of this functionality is shown by an application developed for the state of  Hawaii. To determine welfare eligibility, state employees conduct an extensive analysis of  each applicant's personal situation. The process of capturing this information is time consuming and stressful for the case worker and the applicant. Hawaii addressed this  requirement by using an "unattended" kiosk for the interview—an interactive video unit  provides the questions and displays a set of possible responses. Users enter responses on a  touch screen and can respond to the questions at their own rate. The case worker is not tied  up with the mechanics of filling out the questionnaire, and the state has the opportunity  through the interactive video to ensure that applicants are aware of all their rights and  responsibilities. The case worker and applicant review the application after it is completed.  The existing computer system captures and edits the data and performs the final eligibility  determination. A dramatically different and more effective user interface is provided while  preserving much of the investment in existing computer systems.  

Completion of multipart forms often involves redundant data entry into multiple computer  systems or applications. Collecting this data at the source or into a common data entry  function and distributing it to the other data entry functions can reduce costs and errors.  Ideally, the information is entered by the individual or process responsible for the data  creation. This enables the individual with the knowledge to make corrections and to do so  immediately. The workgroup LAN server captures the data and stores it. When a business  process defined to capture data from one copy of the form is invoked, the stored data is  automatically merged into the form. This is updated, by the user, with additional data that is  now available. In this manner, data is keyed only once and every business process uses the  same data. Information is made available immediately after capture and can be distributed  electronically to all authorized users.  

It is possible to make fundamental changes in the business process, using a Business Process  Reengineering (BPR) methodology and client/server computing. One such example uses  electronic imaging. Many firms have found that it pays to put a series of steps that formerly  involved different people handling each step, onto the shoulders of a single "case worker."  One insurance company, for example, estimated that it took 22 days to approve a policy,  during which time the papers were worked on for only 17 minutes. The remainder of the time  was spent shuffling papers between specialists—from credit-checkers to actuaries to  salespeople and back. By enabling everyone in an organization to share information more or 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

less instantly, new technology highlights the fact that most insurance policies never need be  seen by most of these specialists. As long as specialists can be consulted quickly when  needed, the vast majority of policies can be handled by a single person. Mutual Benefit Life  used such a procedure to boost productivity among clerical staff by 60 percent.1  

Another commonly used technique to leverage the power and ease of use of the workstation  is provided by tools, such as Trinzic's Forest & Trees. These tools provide easy-to-use  facilities to manipulate data either stored on the existing host databases or downloaded to  local servers. This technique of "data mining" through the use of powerful developer tools to  provide rapid development of new management decision support functions, portends the  future for systems development. Future developers will be knowledge workers — technologists with an equally strong business understanding using tools that are intuitive and  powerful. Data will be provided to the workstation user in a form consistent with his or her  business understanding.  

Why is workstation technology so effective? It supports the new business paradigm of  employee empowerment. It provides the windowing capabilities to simultaneously access and  display all information necessary to complete the business process. The capability of  powerful workstation technology to recommend and make decisions based on historical  precedent can dramatically reduce cost and improve service by shortening the decision making cycle.  

Request for Service  

Client workstations request services from the attached server. Whether this server is in fact  the same processor or a network processor, the application format of the request is the same.  NOS software translates or adds the specifics required by the targeted requester to the  application request.  

Interprocess communication (IPC) is the generic term used to describe communication  between running processes. In the client/server model, these processes might be on the same  computer, across the LAN, or across the WAN.  

The most basic service provided by the NOS is redirection. This service intercepts client  workstation operating system calls and redirects them to the server operating system. In this  way, requests for disk directories, disk files, printers, printer queues, serial devices,  application programs, and named pipes are trapped by the redirection software and redirected  (over the LAN) to the correct server location. It is still possible for some of these services to  be provided by the client workstation. The local disk drives may be labeled A: and C: and the  remote drives labeled D:, E:, and F:.  

How does redirection work?  

1. Any request for drive A: or C: is passed through to the local file system by the  redirection software. Requests for other drives are passed to the server operating  system. Printers are accessed through virtual serial and parallel ports defined by the  NOS redirector software.  

2. The NOS requester software constructs the remote procedure call (RPC) to include  the API call to the NOS server. 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

3. The NOS server then processes the request as if it were executed locally and ships the  response back to the application.  

Novell commercialized this redirector concept for the Intel and MS-DOS platforms, and it  has been adopted by all NOS and UNIX network file system (NFS) vendors. The simplicity  of executing standard calls to a virtual network of services is its main advantage.  

Remote Procedure Call (RPC)  

Over the years, good programmers have developed modular code using structured techniques  and subroutine logic. Today, developers want subroutines to be stored as a named objects  "somewhere" and made available to everyone with the right to use them. Remote procedure  calls (RPCs) provide this capability. RPCs standardize the way programmers must write calls,  so that remote procedures can recognize and respond correctly.  

If an application issues a functional request and this request is embedded in an RPC, the requested function can be located anywhere in the enterprise that the caller is authorized to  access. The RPC facility provides for the invocation and execution of requests from  processors running different operating systems and using hardware platforms different from  that of the caller. Many RPCs also provide data translation services. The call causes dynamic  translation of data between processors with different physical data storage formats. These  standards are evolving and being adopted by the industry. 

Fax/Print Services  

The NOS enables the client to generate print requests even when the printer is busy. These  are redirected by the NOS redirector software and managed by the print server queue  manager. The client workstation can view the status of the print queues at any time. Many  print servers notify the client workstation when the print request is completed. Fax services  are made available in exactly the same manner as print servers, with the same requester  server interface and notification made available.  

Window Services  

A client workstation may have several windows open on-screen at any time. The capability to  activate, view, move, size, or hide a particular window is provided by the window services of  the client operating system. These services are essential in a client/server implementation,  because they interact with message services provided to notify the user of events that occur  on a server. Application programs are written with no sensitivity to the windowing. Each  application is written with the assumption that it has a virtual screen. This virtual screen can  be an arbitrary size and can even be larger than the physical screen.  

The application, using GUI software, places data into the virtual screen, and the windowing  services handle placement and manipulation of the application window. This greatly  simplifies application development, because there is no need for the developer to build or  manage the windowing services. The client user is totally in control of his or her desktop and  can give priority to the most important tasks at hand simply by positioning the window of  interest to the "front and center." The NOS provides software on the client workstation to  manage the creation of pop-up windows that display alerts generated from remote servers. E-

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

mail receipt, print complete, Fax available, and application termination are examples of alerts  that might generate a pop-up window to notify the client user.  

Remote Boot Services  

Some applications operate well on workstations without any local disk storage; X-terminals  and workstations used in secure locations are examples. The client workstation must provide  sufficient software burned into erasable programmable read-only memory (E-PROM) to start  the initial program load (IPL)—that is, boot—process. E-PROM is included in all  workstations to hold the Basic Input/Output System (BIOS) services. This mini-operating  system is powerful enough to load the remote software that provides the remaining services  and applications functions to the client workstation or X-terminal.  

Other Remote Services  

Applications can be invoked from the client to execute remotely on a server. Backup services  are an example of services that might be remotely invoked from a client workstation.  Business functions such as downloading data from a host or checking a list of stock prices  might also be invoked locally to run remotely. Software is provided by the NOS to run on the  client workstation to initiate these remote applications.  

Mobile computing is increasingly being used to remain functional while out of the office.  With appropriate architectural forethought, applications can be built to operate effectively  from the office LAN or the remote laptop. Current technology supports full-powered  workstations with the capability for GUI applications consistent with the desktop implementation. The IPC protocol of choice for mobile access is TCP/IP based.  

Utility Services  

The operating system provides local functions such as copy, move, edit, compare, and help  that execute on the client workstation.  

Message Services  

Messages can be sent and received synchronously to or from the network. The message  services provide the buffering, scheduling, and arbitration services to support this function.  

Network Services  

The client workstation communicates with the network through a set of services and APIs  that create, send, receive, and format network messages. These services provide support for  communications protocols, such as NetBIOS, IPX, TCP/IP, APPC, Ethernet, Token Ring,  FDDI, X.25, and SNA. These are more fully described in Chapter 5, "Components of  Client/Server Applications—Connectivity."  

Application Services  

In addition to the remote execution services that the NOS provides, custom applications will  use their own APIs embedded in an RPC to invoke specialized services from a remote server. 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

Database Services  

Database requests are made using the SQL syntax. SQL is an industry standard language  supported by many vendors. Because the language uses a standard form, the same application  may be run on multiple platforms. There are syntactical differences and product extensions  available from most vendors. These are provided to improve developer productivity and  system performance and should be carefully evaluated to determine whether their uses are  worth the incompatibility implied by using proprietary components. Using unique features  may prevent the use of another vendor's products in a larger or smaller site. Certain  extensions, such as stored procedures, are evolving into de facto standards.  

The use of stored procedures is often a way of avoiding programmer use of proprietary  extensions needed for performance. A clear understanding, by the technical architects on the  project, of where the standards are going is an important component of the SDE standards for  the project.  

Network Management Services-Alerts  

Most network interface cards (NICs) can generate alerts to signify detected errors and  perhaps to signify messages sent and received. These alerts are valuable in remote LAN  management to enable early detection of failures. Because many errors are transient at first,  simple remote detection may allow problems to be resolved before they become critical.  Applications may also generate alerts to signify real or potential problems. Certain error  conditions indicate that important procedures are not being followed. Application program  failure may occur because current versions of software are not being used.  

Support for a remote client workstation may be greatly simplified if alerts are generated by  the applications. This should be part of every standard SDE. Many alert situations can be  generated automatically from standard code without the involvement of the application  developer. A more complete discussion of network management issues is included in the  communications section of Chapter 5.  

Dynamic Data Exchange (DDE)  

DDE is a feature of Windows 3.x and OS/2 Presentation Manager that enables users to pass  data between applications from different vendors through support for common APIs. For  example, a charting package can be linked to a database to provide the latest chart data  whenever the chart is referenced.  

Object Linking and Embedding (OLE)  

OLE is an extension to DDE that enables objects to be created with the object components  software aware. Aware means that a reference to the object or one of its components  automatically launches the appropriate software to manipulate the data. For example, a  document created with a word processor may include an image created by a graphics  package. The image can be converted to the internal graphics form of the word processor,  such as WPG form for WordPerfect. With OLE, the image can be included in its original  form within the document object; whenever the image is selected or highlighted, the graphics  package will take control to manipulate the image. Activation of the software is totally  transparent to the users as they navigate through the document. 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

Currently with OLE, one software package accesses data created from another through the  use of a viewer or launcher. These viewers and launchers must be custom built for every  application. With the viewer, users can see data from one software package while they are  running another package. Launchers invoke the software package that created the data and  thus provide the full functionality of the launched software.  

Both these techniques require the user to be aware of the difference between data sources.  DDE and OLE provide a substantial advantage: any DDE- or OLE-enabled application can  use any software that supports these data interchange APIs. An e-mail application will be  able to attach any number of components into the mail object without the need to provide  custom viewers or launchers.  

Not all Windows applications support OLE, but Microsoft has released its OLE 2.0 software  development kit (SDK). The toolkit greatly simplifies OLE integration into third-party,  developed applications. Organizations wanting to create a consistent desktop are beginning to  use the OLE SDK as part of custom applications.  

OLE 2.0 extends OLE capabilities to enable a group of data to be defined as an object and  saved into a database. This object can then be dragged and dropped into other applications  and edited without the need to switch back to the application which created it. This provides a  more seamless interface for the user. In OLE 1.x, double-clicking a Lotus 1-2-3 for Windows  spreadsheet embedded in a Microsoft Word for Windows document launches 1-2-3 and opens  the document in a 1-2-3 window. Under OLE 2.0, the active window (Word's) menu and  toolbar change to that of 1-2-3. The user deals only with the object, with no need to be aware  of the multiple software being loaded.  

Common Object Request Broker Architecture (CORBA)  

CORBA is a specification from the Object Management Group (OMG), a UNIX vendor  consortium. OLE focuses on data sharing between applications on a single desktop, and  CORBA addresses cross-platform data transfer and the process of moving objects over  networks. CORBA support enables Windows and UNIX clients to share objects. A word  processor operating on a Windows desktop can include graphics generated from a UNIX  workstation.  

Server Functionality in Detail  

The discussion in the following sections more specifically describes the functions provided  by the server in a NOS environment.  

Request Processing  

Requests are issued by a client to the NOS services software resident on the client machine.  These services format the request into an appropriate RPC and issue the request to the  application layer of the client protocol stack. This request is received by the application layer  of the protocol stack on the server. 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

File Services  

File services handle access to the virtual directories and files located on the client workstation  and to the server's permanent storage. These services are provided through the redirection  software implemented as part of the client workstation operating environment. As Chapter 3  described, all requests are mapped into the virtual pool of resources and redirected as  necessary to the appropriate local or remote server. The file services provide this support at  the remote server processor. In the typical implementation, software, shared data, databases,  and backups are stored on disk, tape, and optical storage devices that are managed by the file  server.  

To minimize the effort and effect of installation and maintenance of software, software  should be loaded from the server for execution on the client. New versions can be updated on  the server and made immediately available to all users. In addition, installation in a central  location reduces the effort required for each workstation user to handle the installation  process. Because each client workstation user uses the same installation of the software,  optional parameters are consistent, and remote help desk operators are aware of them. This  simplifies the analysis that must occur to provide support. Sharing information, such as word  processing documents, is easier when everyone is at the same release level and uses the same  default setup within the software. Central productivity services such as style sheets and  macros can be set up for general use. Most personal productivity products do permit local  parameters such as colors, default printers, and so forth to be set locally as well.  

Backups of the server can be scheduled and monitored by a trained support person. Backups  of client workstations can be scheduled from the server, and data can be stored at the server  to facilitate recovery. Tape or optical backup units are typically used for backup; these  devices can readily provide support for many users. Placing the server and its backups in a  secure location helps prevent theft or accidental destruction of backups. A central location is  readily monitored by a support person who ensures that the backup functions are completed.  With more organizations looking at multimedia and image technology, large optical storage  devices are most appropriately implemented as shared servers.  

Fax/Print/Image Services  

High-quality printers, workstation-generated faxes, and plotters are natural candidates for  support from a shared server. The server can accept input from many clients, queue it  according to the priority of the request and handle it when the device is available. Many  organizations realize substantial savings by enabling users to generate fax output from their  workstations and queue it at a fax server for transmission when the communication costs are  lower. Incoming faxes can be queued at the server and transmitted to the appropriate client  either on receipt or on request. In concert with workflow management techniques, images can  be captured and distributed to the appropriate client workstation from the image server. In the  client/server model, work queues are maintained at the server by a supervisor in concert with  default algorithms that determine how to distribute the queued work.  

Incoming paper mail can be converted to image form in the mail room and sent to the  appropriate client through the LAN rather than through interoffice mail. Centralized capture  and distribution enable images to be centrally indexed. This index can be maintained by the  database services for all authorized users to query. In this way, images are captured once and  are available for distribution immediately to all authorized users. Well-defined standards for 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

electronic document management will allow this technology to become fully integrated into  the desktop work environment. There are dramatic opportunities for cost savings and  improvements in efficiency if this technology is properly implemented and used. Chapter 10  discusses in more detail the issues of electronic document management.  

Database Services  

Early database servers were actually file servers with a different interface. Products such as  dBASE, Clipper, FoxPro, and Paradox execute the database engine primarily on the client  machine and use the file services provided by the file server for record access and free space  management. These are new and more powerful implementations of the original flat-file  models with extracted indexes for direct record access. Currency control is managed by the  application program, which issues lock requests and lock checks, and by the database server,  which creates a lock table that is interrogated whenever a record access lock check is  generated. Because access is at the record level, all records satisfying the primary key must  be returned to the client workstation for filtering. There are no facilities to execute procedural  code at the server, to execute joins, or to filter rows prior to returning them to the  workstation. This lack of capability dramatically increases the likelihood of records being  locked when several clients are accessing the same database and increases network traffic  when many unnecessary rows are returned to the workstation only to be rejected.  

The lack of server execution logic prevents these products from providing automatic partial  update backout and recovery after an application, system, or hardware failure. For this  reason, systems that operate in this environment require an experienced system support  programmer to assist in the recovery after a failure. When the applications are very  straightforward and require only a single row to be updated in each interaction, this recovery  issue does not arise. However, many client/server applications are required to update more  than a single row as part of one logical unit of work.  

Client/server database engines such as Sybase, IBM's Database Manager, Ingres, Oracle, and Informix provide support at the server to execute SQL requests issued from the client  workstation. The file services are still used for space allocation and basic directory services,  but all other services are provided directly by the database server. Relational database  management systems are the current technology for data management. Figure 4.1 charts the  evolution of database technology from the first computers in the late 1950s to the object oriented database technologies that are becoming prevalent in the mid-1990s.  

Flat Files: Sorting Physical Records 

Database technology has evolved from the early 1960s' flat-file view when data was provided  through punch cards or disk files simulating punch cards. These original implementations  physically stored data columns and records according to the user view. The next column in  the user view was the next column in the physical record, and the next record in the user view  was the next physically stored record. Sorting the physical records provided the means by  which a user was presented with a different view of related records. Columns were eliminated  from view by copying the records from one location to another without the unnecessary  columns. Many organizations today still use the flat-file approach to data management for  reporting and batch update input. Data is extracted and sorted for efficient input to a batch  report. Data is captured for update and sorted for more efficient input to a batch update  program. 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

Hierarchical Databases: Adjacent Storage of Related Record Types  

The second generation of database technology, the hierarchical database, could store related  record types physically or logically next to each other. In the hierarchical model  implementation, when a user accesses a physical record type, other application-related data is  usually stored physically close and will be moved from disk to DRAM all together. Internally  stored pointers are used to navigate from one record to the next if there is insufficient space  close by at data creation time to insert the related data. Products such as IMS and IDMS  implemented this technique very successfully in the early 1970s. Many organizations  continue to use database applications built to use this technology.  

The major disadvantage with the hierarchical technique is that only applications that access  data according to its physical storage sequence benefit from locality of reference. Changes to  application requirements that necessitate a different access approach require the data to be  reorganized. This process, which involves reading, sorting, and rewriting the database into a  new sequence, is not transparent to applications that rely on the original physical sequence.  Indexes that provide direct access into the database provide the capability to view and access  the information in a sequence other than the physical sequence. However, these indexes must  be known to the user at the time the application is developed. The developer explicitly  references the index to get to the data of interest. Thus, indexes cannot be added later without  changing all programs that need this access to use the index directly. Indexes cannot be  removed without changing programs that currently access the index. Most implementations  force the application developer to be sensitive to the ordering and occurrence of columns  within the record. Thus, columns cannot be added or removed without changing all programs  that are sensitive to these records.  

Application sensitivity to physical implementation is the main problem with hierarchical  database systems. Application sensitivity to physical storage introduced considerable  complexity into the navigation as application programmers traverse the hierarchy in search of  their desired data. Attempts by database vendors to improve performance have usually  increased the complexity of access. If life is too easy today, try to create a bidirectionally  virtually paired IMS logical relationship; that is why organizations using products such as  IMS and IDMS usually have highly paid database technical support staff.  

Relational Databases: Extracted Indexes and SQL  

As hardware technology evolves, it is important for the data management capabilities to  evolve to use the new capabilities. the current essential characteristics of the database world.  The relational database is the de facto standard today; therefore, investment by vendors will  be in products that target and support fully compliant SQL databases.  

Relational database technology provides the current data management solution to many of the  problems inherent in the flat-file and hierarchical technologies. In the late 1970s and early  1980s, products such as Software AG's ADABAS and System 2000 were introduced in an  attempt to provide the application flexibility demanded by the systems of the day. IBM with  IMS and Cullinet with IDMS attempted to add features to their products to increase this  flexibility. The first relational products were introduced by ADR with Datacom DB and  Computer Corporation of America with Model 204. 

10 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

Each of these implementations used extracted indexes to provide direct access to stored data  without navigating the database or sorting flat files. All the products attempted to maintain  some of the performance advantages afforded by locality of reference (storage of related  columns and records as close as possible to the primary column and record).  

Datacom and Model 204 introduced—for the first time—the Structured Query Language  (SQL). SQL was invented in the early 1970s by E. F. (Ted) Codd of IBM Labs in Santa  Teresa, California. The primary design objective behind SQL was to provide a data access  language that could be shown mathematically to manipulate the desired data correctly. The  secondary objective was to remove any sense of the physical storage of data from the view of  the user. SQL is another flat-file implementation; there are no embedded pointers. SQL uses  extracted indexes to provide direct access to the rows (records) of the tables (files) of interest.  Each column (field) may be used as part of the search criteria.  

SQL provides (especially with SQL2 extensions) a very powerful data access language. Its  algebra provides all the necessary syntax to define, secure, and access information in an SQL  database. The elegance of the language intrigued the user and vendor community to the  extent that standards committees picked up the language and defined a set of standards  around the language syntax. SQL1 and SQL2 define an exact syntax and a set of results for  each operation. As a consequence, many software vendors have developed products that  implement SQL. This standardization will eventually enable users to treat these products as  commodities in the same way that PC hardware running DOS has become a commodity.  Each engine will soon be capable of executing the same set of SQL requests and producing  the same result. The products will then be differentiated based on their performance, cost,  support, platform availability, and recovery-restart capabilities.  

Dr. Codd has published a list of 13 rules that every SQL database engine should adhere to in  order to be truly compliant. No products today can meet all of these criteria. The criteria,  however, provide a useful objective set for the standards committees and vendors to strive  for. We have defined another set of product standards that we are using to evaluate SQL  database engines for the development of client/server applications. In particular, products  should be implemented with support for the following products and standards:  

ANSI SQL and IBM DB2 standards  

A variety of front-end query products  

C and COBOL SQL precompilers  

Support for and compatibility with server NOS: NetWare, OS/2 (LAN Manager, LAN Server),  Windows NT, Mac System 7, and/or UNIX (VINES, SCO, Sun, HP/UX USL, SVR4_), and MVS  

Support for client Operating Systems: DOS, Windows, OS/2, Windows NT, Mac System 7, or  UNIX (Solaris, USL, SCO, HP/UX, SVR4_)  

Production-capable client/server database engines must be able to provide a similar  operational environment to that found in the database engines present in minicomputer and  mainframe computers today. Capabilities for comparison include performance, auditability,  and recovery techniques. In particular, the following DBMS features must be included in the  database engine: 

11 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

Performance optimization tools  

Dynamic transaction backout  

Roll back from, roll forward to last backup  

Audit file recovery  

Automatic error detection and recovery  

File reclamation and repair tools  

Support for mirrored databases  

Capability to split database between physical disk drives  

Remote distributed database management features  

Maintenance of accurate and duplicate audit files on any LAN node  

In the client/server implementation, you should offload database processing to the server.  Therefore, the database engine should accept SQL requests from the client and execute them  totally on the server, returning only the answer set to the client requestor. The database  engine should provide support for stored procedures or triggers that run on the server.  

The client/server model implies that there will be multiple concurrent user access. The  database engine must be able to manage this access without requiring every developer to  write well-behaved applications. The following features must be part of the database engine:  

Locking mechanisms to guarantee data integrity  

Deadlock detection and prevention  

Multithreaded application processing  

User access to multiple databases on multiple servers  

Object-Oriented—A Bright Future  

With the increasing maturity and popularity of OOTs for development, there has been a  significant increase in maturity and acceptance of object-oriented database management  systems (OODBMS). Object-oriented database management systems provide support for  complex data structures: such as compound documents, CASE entity relationship models,  financial models, and CAD/CAM drawings. OODBMS proponents claim that relational  database management systems (RDBMS) can handle only simple data structures (such as  tables) and simple transaction-processing applications that only need to create views  combining a small number of tables. OODBMS proponents argue that there is a large class of  problems that need to be and will be more simply implemented if more complex data  structures can be viewed directly. RDBMS vendors agree with the need to support these data  structures but argue that the issue is one of implementation, not architecture. 

12 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

Relational databases are characterized by a simple data structure. All access to data and  relationships between tables are based on values. A data value occurrence is uniquely  determined by the concatenation of the table name, column name, and the value of the unique  identifier of the row (the primary key). Relationships between tables are determined by a  common occurrence of the primary key values. Applications build a view of information  from tables by doing a join based on the common values. The result of the join is another  table that contains a combination of column values from the tables involved in the join.  

The development of a relational algebra defining the operations that can be performed  between tables has enabled efficient implementations of RDBMSs. The establishment of  industry standards for the definition of and access to relational tables has speeded the  acceptance of RDBMSs as the de facto standard for all client/server applications today.  Similar standards do not yet exist for OODBMSs. There is a place for both models. To be  widely used, OODBMSs need to integrate transparently with RDBMS technology. Table 4.1  compares the terminology used by RDBMS and OODBMS proponents.  

There remain some applications for which RDBMSs have not achieved acceptable  performance. Primarily, these are applications that require very complex data structures.  Thousands of tables may be defined with many relationships among them. Frequently, the  rows are sparsely populated, and the applications typically require many rows to be linked,  often recursively, to produce the necessary view.  

The major vendors in this market are Objectivity Inc., Object Design, Ontos, and Versant.  Other vendors such as HP, Borland, and Ingres have incorporated object features into their  products.  

The application characteristics that lead to an OODBMS choice are shown in Figure 4.3.  OODBMS will become production capable for these types of applications with the  introduction of 16Mbps D-RAM and the creation of persistent (permanent) databases in D RAM. Only the logging functions will use real I/O. Periodically, D-RAM databases will be  backed up to real magnetic or optical disk storage. During 1993, a significant number of  production OODBMS applications were implemented. With the confidence and experience  gained from these applications, the momentum is building, and 1994 and 1995 will see a  significant increase in the use of OODBMSs for business critical applications. OODBMSs  have reached a maturity level coincident with the demand for multimedia enabled  applications. The complexities of dealing with multimedia demands the features of  OODBMS for effective storage and manipulation.  

To enable more complex data types to be manipulated by a single command, OODBMSs  provide encapsulated processing logic with the object definition.  

Communications Services  

Client/server applications require LAN and WAN communication services. Basic LAN  services are integral to the NOS. WAN services are provided by various communications  server products. Chapter 5 provides a complete discussion of connectivity issues in the  client/server model. 

13 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

Security Services  

Client/server applications require similar security services to those provided by host  environments. Every user should be required to log in with a user ID and password. If  passwords might become visible to unauthorized users, the security server should insist that  passwords be changed regularly. The enterprise on the desk implies that a single logon ID  and logon sequence is used to gain the authority once to access all information and process  for the user has a need and right of access. Because data may be stored in a less physically  secure area, the option should exist to store data in an encrypted form. A combination of the  user ID and password should be required to decrypt the data.  

New options, such as floppyless workstations with integrated data encryption standard (DES)  coprocessors, are available from vendors such as Beaver Computer Company. These products  automatically encrypt or decrypt data written or read to disk or a communication line. The  encryption and decryption are done using the DES algorithm and the user password. This  ensures that no unauthorized user can access stored data or communications data. This type  of security is particularly useful for laptop computers participating in client/server  applications, because laptops do not operate in surroundings with the same physical security  of an office. To be able to access the system from a laptop without properly utilizing an ID  number and password would be courting disaster.  

The Network Operating System  

The network operating system (NOS) provides the services not available from the client OS.  Novell NetWare  

NetWare is a family of LAN products with support for IBM PC-compatible and Apple  Macintosh clients, and IBM PC-compatible servers. NetWare is a proprietary NOS in the  strict sense that it does not require another OS, such as DOS, Windows, Windows NT, OS/2, Mac System 7, or UNIX to run on a server. A separate Novell product—Portable NetWare  for UNIX—provides server support for leading RISC-based UNIX implementations, IBM  PC-compatible systems running Windows NT, OS/2, high-end Apple Macs running Mac  System 7, and Digital Equipment Corporation VAXs running VMS.  

NetWare provides the premier LAN environment for file and printer resource sharing. It had  62 percent of the market share in 1993. It is widely installed as the standard product in many  organizations. NetWare is the original LAN NOS for the PC world. As such, it incorporates  

many of the ease-of-use features required for sharing printers, data, software, and  communications lines. Agreements between Novell and IBM to remarket the product and  provide links between NetWare and the LAN Server product confirm the commitment to  Novell NetWare's use within large organizations. shows the major components of the  NetWare architecture, illustrating client and server functions.  

Novell has committed to move NetWare to an open architecture. Through the use of open  protocol technology (OPT), Novell makes NetWare fully network protocol independent. Two  standardized interfaces—open datalink interface (ODI) and NetWare Streams—enable other  vendors to develop products for the NetWare environment. This facilitates its integration into  other platforms. Figure 4.5 outlines the NetWare open architecture. The diagram also 

14 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

illustrates the wide range of connectivity supported by NetWare. Client workstations can use  Mac System 7, OS/2, DOS, Windows, Windows NT, NetWare, or UNIX NFS operating  environments. OS/2, Windows NT, and UNIX servers may be installed on the same LAN as  NetWare servers to provide support for products that require these platforms. Novell's  purchase of USL from AT&T has increased its commitment to early support for native UNIX  servers. HP, Sun, DEC, and Novell have announced an agreement to port NetWare to their  respective UNIX platforms. Novell has won the battle to be the standard for the file/print  server in the LAN environment.  

Novell's published goal is to provide NetWare services totally independent of network media,  network transport protocols, client/server protocols, and server and client operating systems,  at each layer of network design.  

NetWare has benefitted from its high performance and low resource requirements as much as  it has from its relative ease of use. This performance has been provided through the use of a  proprietary operating system and network protocols. Even though this has given Novell an  advantage in performance, it has caused difficulties in the implementation of application and  database servers in the Novell LAN. Standard applications cannot run on the server  processor, because NetWare does not provide compatible APIs. Instead, NetWare provides a  high performance capability called a NetWare Loadable Module (NLM) that enables  database servers such as Sybase and Oracle, and communications servers such as Gateway  Communications provides, to be linked into the NetWare NOS. In addition, the tailored  operating environment does not provide some system features, such as storage protection and  multitasking, in the same fundamental way that OS/2 and UNIX do. However, Novell is  committed to address these issues by supporting the use of UNIX, OPENVMS, OS/2, and  Windows NT as native operating environments.  

With the release of NetWare 4.0, Novell addressed the serious issue of enterprise computing  with improved network directory services (NDS), one thousand node domains, and  LAN/WAN support for TCP/IP. Native NetWare 4.x will be available to developers in early  1994 and production ready by the end of 1994. For the other end of the product range, Novell  released NetWare Lite in 1993 to address the small business and simple workgroup  requirements of LANs with five or fewer workstations. This enables organizations to remain  with NetWare as the single LAN technology everywhere. Clearly, Novell's pitch is that  systems management and administration are greatly simplified with the single standard of  "NetWare Everywhere."  

LAN Manager  

LAN Manager and its IBM derivative, LAN Server, are the standard products for use in  client/server implementations using OS/2 as the server operating system. LAN Manager/X is  the standard product for client/server implementations using UNIX System V as the server  operating system. Microsoft released its Advanced Server product with Windows NT in the  third quarter of 1993. During 1994, it will be enhanced with support for the Microsoft  network management services, currently referred to as "Hermes," and Banyan's Enterprise  Network Services (ENS). Advanced Server is the natural migration path for existing  Microsoft LAN Manager and IBM LAN Server customers. Existing LAN Manager/X  customers probably won't find Advanced Server an answer to their dreams before 1995. 

15 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

AT&T has taken over responsibility for the LAN Manager/X version. Vendors such as  Hewlett-Packard (HP) have relicensed the product from AT&T. AT&T and Microsoft have  an agreement to maintain compatible APIs for all base functionality.  

LAN Manager and Advanced Server provide client support for DOS, Windows, Windows  NT, OS/2, and Mac System 7. Server support extends to NetWare, AppleTalk, UNIX,  Windows NT, and OS/2. Client workstations can access data from both NetWare and LAN  Manager servers at the same time. LAN Manager supports NetBIOS and Named Pipes LAN  communications between clients and OS/2 servers. Redirection services are provided to map  files and printers from remote workstations for client use.  

Advanced Server also supports TCP/IP communication. In early 1994, Advanced Server still  will be a young product with many missing pieces. Even more troublesome, competitiveness  between Microsoft and Novell is delaying the release of client requestor software and  NetWare Core Protocol (NCP) support. Microsoft has added TCP/IP support to LAN  Manager 2.1 and Advanced Server along with NetView and Simple Network Management  Protocol (SNMP) agents. Thus, the tools are in place to provide remote LAN management for  LAN Manager LANs. Microsoft has announced support for IBM NetView 6000 for  Advanced Server management.  

Advanced Server provides integrated support for peer-to-peer processing and client/server  applications. Existing support for Windows NT, OS/2, UNIX, and Mac System 7 clients lets  application, database, and communication servers run on the same machine as the file and  print server. This feature is attractive in small LANs. The native operating system support for  preemptive multitasking and storage protection ensures that these server applications do not  reduce the reliability of other services. Even as Windows NT is rolled out to provide the  database, application, and communications services to client/server applications, the use of  Novell as the LAN NOS of choice will continue for peripheral resource sharing applications.  

Microsoft has attempted to preempt the small LAN market with its Windows for Workgroups  (WfW) product. This attacks the same market as NetWare Lite with a low-cost product that is  tightly integrated with Windows. It is an attractive option for small organizations without a  requirement for larger LANs. The complexities of systems management make it less  attractive in an enterprise environment already using Novell. WfW can be used in  conjunction with Novell for a workgroup wishing to use some WfW services, such as group  scheduling.  

IBM LAN Server  

IBM has entered into an agreement to resell and integrate the Novell NetWare product into  environments where both IBM LAN Server and Novell NetWare are required. NetWare  provides more functional, easier-to-use, and higher-performance file and print services. In  environments where these are the only LAN functions, NetWare is preferable to LAN  Manager derivatives. The capability to interconnect to the SNA world makes the IBM  product LAN Server attractive to organizations that prefer to run both products. Most large  organizations have department workgroups that require only the services that Novell provides  well but may use LAN Server for client/server applications using SNA services such as  APPN. 

16 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

IBM and Microsoft had an agreement to make the APIs for the two products equivalent.  However, the dispute between the two companies over Windows 3.x and OS/2 has ended this  cooperation. The most recent releases of LAN Manager NT 3 and LAN Server 3 are closer to  the agreed equivalency, but there is no guarantee that this will continue. In fact, there is every  indication that the products will diverge with the differing server operating system focuses  for the two companies. IBM has priced LAN Server very attractively so that if OS/2 clients  are being used, LAN Server is a low-cost option for small LANs. LAN Server supports DOS,  Windows, and OS/2 clients. No support has been announced for Mac System 7, although it is  possible to interconnect AppleTalk and LAN Server LANs to share data files and  communication services.  

Banyan VINES  

Banyan VINES provides basic file and print services similar to those of Novell and Lan  Manager.  

VINES incorporates a facility called StreetTalk that enables every resource in a Banyan  enterprise LAN to be addressed by name. VINES also provides intelligent WAN routing  within the communications server component. These two features are similar to the OSI  Directory Services X.500 protocol.  

StreetTalk enables resources to be uniquely identified on the network, making them easier to  access and manage. All resources, including file services, users, and printers, are defined as  objects. Each object has a StreetTalk name associated with it.  

StreetTalk names follow a three-level hierarchical format: Item@Group@Organization. For  example, a user can be identified as Psmith@Cerritos@Tnet. All network objects are stored  in a distributed database that can be accessed globally. Novell's NDS is similar to StreetTalk  

in functionality. However, there are key differences. NDS can partition and replicate the  database, which will generally improve performance and reliability. NDS is X.500-compliant  and enables multiple levels of hierarchy.  

StreetTalk supports a fixed three-level hierarchy. The NDS architecture offers more  flexibility but with corresponding complexity, and StreetTalk is less flexible but less complex  to manage.  

One advantage the current version of StreetTalk has over NDS is that StreetTalk objects can  have unlimited attributes available for selection. To locate a printer with certain attributes, the  command: "Locate a color laser printer with A4 forms on the 7th floor of Cerritos" finds and  uses the printer with the desired characteristics.  

VINES V5.5 offers ISDN and TI support for server-to-server communications over a WAN,  as well as integration of DOS, Windows, OS/2, and Mac clients. VINES does not support  NFS clients.  

Novell and Microsoft have announced support for Banyan ENS within their products to be  available in Q2 1994. Banyan and DCA provide SNA services to the VINES environment.  VINES supports UNIX, DOS, Windows, OS/2, and Mac System 7 clients. 

17 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

PC Network File Services (NFS)  

NFS is the standard file system support for UNIX. PC NFS is available from SunSelect and  FTP to provide file services support from a UNIX server to Windows, OS/2, Mac, and UNIX  clients.  

NFS lets a client mount an NFS host's filing system (or a part of it) as an extension of its own  resources. NFS's resource-sharing mechanisms encompass interhost printing. The  transactions among NFS systems traditionally ride across TCP/IP and Ethernet, but NFS  works with any network that supports 802.3 frames.  

SunSelect includes instructions for adding PC-NFS to an existing LAN Manager or Windows  for Workgroups network using Network Driver Interface Specification (NDIS) drivers.  

With the increasing use of UNIX servers for application and database services, there is an  increasing realization that PC NFS may be all that is required for NOS support for many  workgroups. This can be a low-cost and low-maintenance option because the UNIX server is  easily visible from a remote location. 

What Are the Available Platforms?  

Client/server computing requires that LAN and WAN topologies be in place to provide the  necessary internetworking for shared applications and data. Gartner Group1 surveyed and  estimated the Microsystems' integration topologies for the period 1986-1996; the results  appear in Figure 4.6. Of special interest is the projection that most workstations will be  within LANs by 1996, but only 14 percent will be involved in an enterprise LAN by that  date. These figures represent a fairly pessimistic outlook for interconnected LAN-to-LAN  and enterprise-wide connectivity. These figures probably will prove to be substantially  understated if organizations adopt an architectural perspective for the selection of their  platforms and tools and use these tools within an organizationally optimized systems  development environment (SDE).  

Workstations in LAN Configuration  

This model is the most basic implementation providing the standard LAN services for file  and printer sharing.  

LAN-to-LAN/WAN Configuration  

Routers and communication servers will be used to provide communication services between  LANs and into the WAN. In the client/server model, these connections will be provided  transparently by the SDE tools. There are significant performance implications if the traffic  volumes are large. IBM's LU6.2 implementation in APPC and TCP/IP provides the best  support for high-volume, LAN-to-LAN/WAN communications. DEC's implementation of  DECnet always has provided excellent LAN-to-WAN connectivity. Integrated support for  TCP/IP, LU6.2, and IPX provides a solid platform for client/server LAN-to-WAN 

18 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

implementation within DECnet. Novell 4.x provides support for TCP/IP as both the LAN and  WAN protocol. Internetworking also is supported between IPX and TCP/IP.  

LAN-to-Host Configuration  

The lack of real estate on the desktop encouraged most organizations to move to a single  device—using terminal emulation from the workstation—to access existing mainframe  applications. It will take considerable time and effort before all existing host-based  applications in an organization are replaced by client/server applications. In the long term, the  host will continue to be the location of choice for enterprise database storage and for the  provision of security and network management services.  

Mainframes are expensive to buy and maintain, hard to use, inflexible, and large, but they  provide the stability and capacity required by many organizations to run their businesses. As  Figure 4.7 notes, in the view of International Data Corporation, they will not go away soon.  Their roles will change, but they will be around as part of the enterprise infrastructure for  many more years. Only organizations who create an enterprise architecture strategy and  transformational plans will accomplish the migration to client/server in less than a few years.  Without a well-architected strategy, gradual evolution will produce failure.  

Enterprise-Wide  

Information that is of value or interest to the entire business must be managed by a central  data administration function and appear to be stored on each user's desk. These applications  are traditionally implemented as Online Transaction Processing (OLTP) to the mainframe or  minicomputer. With the client/server model, it is feasible to use database technology to  replicate or migrate data to distributed servers. Wherever data resides or is used, the location  must be transparent to the user and the developer. Data should be stored where it best meets  the business need.  

OLTP on a LAN  

Online Transaction Processing applications are found in such industries as insurance, finance,  government, and sales—all of which process large numbers of transactions. Each of these  transactions requires a minimal amount of user think time to process. In these industries, data  is frequently collected at the source by the knowledgeable worker. As such, the systems have  high requirements for availability, data integrity, performance, concurrent access, growth  potential, security, and manageability. Systems implemented in these environments must  prove their worth or they will be rejected by an empowered organization. They must be  implemented as an integral part of the job process.  

OLTP has traditionally been the domain of the large mainframe vendors—such as IBM and  DEC—and of special-purpose, fault-tolerant processors from vendors such as Tandem and  Stratus. The client/server model has the capability to provide all the services required for  OLTP at much lower cost than the traditional platforms. All the standard client/server  requirements for a GUI—application portability, client/server function partitioning, software  distribution, and effective development tools—exist for OLTP applications.  

The first vendor to deliver a production-quality product in this arena is Cooperative Solutions  with its Ellipse product. Prior to Ellipse, OLTP systems required developers to manage the 

19 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

integrity issues of unit-of-work processing, including currency control and transaction  rollback. Ellipse provides all the necessary components to build systems with these features.  Ellipse currently operates with Windows 3.x, OS/2 clients, and OS/2 servers using the Sybase  database engine. Novell is working with Cooperative Solutions to port Ellipse as a Novell  NetWare Loadable Module (NLM). It provides a powerful GUI development environment  using a template language as a shorthand for development. This language provides a solid  basis for building an organizational SDE and lends itself well to the incorporation of standard  components.  

OLTP with UNIX  

As UNIX has matured, it has added many of the features found in other commercial operating  systems such as VMS and MVS. There are now several offerings for OLTP with UNIX. IBM  is promoting CICS 6000 as a downsizing strategy for CICS MVS. Database services will be  provided by a combination of AIX and MVS servers.  

Novell purchased the Tuxedo product from AT&T with its acquisition of USL. OSF selected  the Transarc Ensina product as the basis for OLTP with DCE. The DCE recognition quickly  placed Ensina in the lead in terms of supported UNIX platforms. IBM has released a version  of DCE for AIX that includes the Ensina technology. NCR provides a product called TopEnd  as part of its Cooperation series.  

Client/server TP monitor software is becoming increasingly necessary now that client/server  systems are growing to include several database servers supporting different vendors'  databases and servicing tens, hundreds, and even thousands of users that need to access and  update the same data. UNIX-based OTLP products are maturing to provide the same level of  functionality and reliability as traditional mainframe-based IBM Customer Information  Control Systems (CICS), yet at less cost and with graphical front ends.  

The Server Operating System  

Servers provide the platform for application, database, and communication services. There  are six operating system platforms that have the greatest potentional and/or are prevalent  today: NetWare, OS/2, Windows NT, MVS, VMS, and UNIX.  

NetWare  

NetWare is used by many organizations, large and small, for the provision of file, printer, and  network services. NetWare is a self-contained operating system. It does not require a separate  OS (as do Windows NT, OS/2, and UNIX) to run. Novell is taking steps to allow NetWare to  run on servers with UNIX. Novell purchased USL and will develop shrink-wrapped products  

to run under both NetWare and UNIX System V, Release 4.2. The products will enable  UNIX to simultaneously access information from both a NetWare and a UNIX server.  

OS/2  

OS/2 is the server platform for Intel products provided by IBM in the System Application  Architecture (SAA) model. OS/2 provides the storage protection and preemptive multitasking  services needed for the server platform. Several database and many application products have  been ported to OS/2. The only network operating systems directly supported with OS/2 are 

20 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

LAN Manager and LAN Server. Novell supports the use of OS/2 servers running on separate  processors from the NetWare server. The combination of Novell with an OS/2 database and  application servers can provide the necessary environment for a production-quality  client/server implementation. Appendix A describes such an implementation.  

Windows NT  

With the release of Windows NT (New Technology) in September of 1993, Microsoft staked  its unique position with a server operating system. Microsoft's previous development of OS/2  with IBM did not create the single standard UNIX alternative that was hoped for. NT  provides the preemptive multitasking services required for a functional server. It provides  excellent support for Windows clients and incorporates the necessary storage protection  services required for a reliable server operating system. Its implementation of C2 level  security goes well beyond that provided by OS/2 and most UNIX implementations. It will  take most of 1994 to get the applications and ruggedizing necessary to provide an industrial  strength platform for business critical applications. With Microsoft's prestige and marketing  muscle, NT will be installed by many organizations as their server of choice.  

MVS  

IBM provides MVS as a platform for large applications. Many of the existing application  services that organizations have purchased operate on System 370-compatible hardware  running MVS. The standard networking environment for many large organizations—SNA— is a component of MVS. IBM prefers to label proprietary systems today under the umbrella  of SAA. The objective of SAA is to provide all services on all IBM platforms in a compatible  way—the IBM version of the single-system image.  

There is a commitment by IBM to provide support for the LAN Server running natively  under MVS. This is an attractive option for organizations with large existing investments in  MVS applications. The very large data storage capabilities provided by System 370- compatible platforms with MVS make the use of MVS for LAN services attractive to large  organizations. MVS provides a powerful database server using DB2 and LU6.2. With broad  industry support for LU6.2, requests that include DB2 databases as part of their view can be  issued from a client/server application. Products such as Sybase provide high-performance  static SQL support, making this implementation viable for high-performance production  applications.  

OPENVMS  

Digital Equipment Corporation provides OPENVMS as its server platform of choice. VMS  has a long history in the distributed computing arena and includes many of the features  necessary to act as a server in the client/server model. DEC was slow to realize the  importance of this technology, and only recently did the company enter the arena as a serious  vendor. NetWare supports the use of OPENVMS servers for file services. DEC provides its  own server interface using a LAN Manager derivative product called Pathworks.  

Pathworks runs native on the VAX and RISC Alpha RXP. This is a particularly attractive  configuration because it provides access on the same processor to the application, database,  and file services provided by a combination of OPENVMS, NetWare, and LAN Manager.  Digital and Microsoft have announced joint agreements to work together to provide a smooth 

21 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

integration of Windows, Windows NT, Pathworks, and OPENVMS. This will greatly  facilitate the migration by OPENVMS customers to the client/server model.  

VAX OPENVMS support for database products such as RDB, Sybase, Ingres, and Oracle  enables this platform to execute effectively as a database server for client/server applications.  Many organizations have large investments in VAX hardware and DECnet networking. The  option to use these as part of client/server applications is attractive as a way to maximize the  value of this investment. DECnet provides ideal support for the single-system image model.  LAN technology is fundamental to the architecture of DECnet. Many large organizations  moving into the client/server world of computing have standardized on DECnet for WAN  processing. For example, Kodak selected Digital as its networking company even after  selecting IBM as its mainframe outsourcing company.  

UNIX  

UNIX is a primary player as a server system in the client/server model. Certainly, the history  of UNIX in the distributed computing arena and its open interfaces provide an excellent  opportunity for it to be a server of choice. To understand what makes it an open operating  system, look at the system's components. UNIX was conceived in the early 1970s by AT&T  employees as an operating environment to provide services to software developers who were  discouraged by the incompatibility of new computers and the lack of development tools for  application development. The original intention of the UNIX architecture was to define a  standard set of services to be provided by the UNIX kernel. These services are used by a shell  that provides the command-line interface. Functionality is enhanced through the provision of  a library of programs. Applications are built up from the program library and custom code.  The power and appeal of UNIX lie in the common definition of the kernel and shell and in  the large amount of software that has been built and is available. Applications built around  these standards can be ported to many different hardware platforms.  

The objectives of the original UNIX were very comprehensive and might have been achieved  except that the original operating system was developed under the auspices of AT&T. Legal  ramifications of the consent decree governing the breakup of the Regional Bell Operating  Companies (RBOCs) prevented AT&T from getting into the computer business. As a result,  the company had little motivation early on to promote UNIX as a product.  

To overcome this, and in an attempt to achieve an implementation of UNIX better suited to  the needs of developers, the University of California at Berkeley and other institutions  developed better varieties of UNIX. As a result, the original objective of a portable platform  was compromised. The new products were surely better, but they were not compatible with  each other or the original implementation. Through the mid-1980s, many versions of UNIX  that had increasing functionality were released. IBM, of course, entered the fray in 1986 with  its own UNIX derivative, AIX. Finally, in 1989, an agreement was reached on the basic  UNIX kernel, shell functions, and APIs.  

The computing community is close to consensus on what the UNIX kernel and shell will look  like and on the definition of the specific APIs. Figure 4.8 shows the components of the future  standard UNIX operating system architecture.  

During all of these gyrations, one major UNIX problem has persisted that differentiates it  from DOS, Windows NT, and OS/2 in the client/server world. Because the hardware 

22 

Class: MSc(SE)SY Unit II Sub: Client Server Technology 

platforms on which UNIX resides come from many manufacturers and are based on many  different chip sets, the "off-the-shelf" software that is sold for PCs is not yet available for  UNIX. Software is sold and distributed in its executable form, so it must be compiled and  

linked by the developer for the target platform. This means that organizations wishing to buy  UNIX software must buy it for the specific target platform they are using. This also means  that when they use many platforms in a distributed client/server application, companies must  buy different software versions for each platform.

23 


No comments:

Post a Comment